﻿using System;
using System.Data;
using System.Data.SqlClient;


namespace AccessControl.Sida.DataAccess
{
    public class DormitoryAccess
    {
        public static bool IsStudentRegistered(string studentCode,out string reason){
            reason = "";
            using (var cn = new SqlConnection(Util.ConnectionString)){
                cn.Open();
                try{
                    var cmd = new SqlCommand("select top 1 vazfali from fsabt_khabgah where stcode=@StudentCode order by vazfali", cn);
                    cmd.Parameters.Add("@StudentCode", SqlDbType.NVarChar, 30).Value = studentCode;
                    var result = cmd.ExecuteScalar();
                    if (result==null || result == DBNull.Value)
                    {
                        reason = "دانشجو در خوابگاه ثبت نشده است!";
                        return false;
                    }
                    else if ((byte)result != 1)
                    {
                        reason = "وضعیت خوابگاه دانشجو مجاز نیست!";
                        return false;
                    }
                    else return true;
                }
                catch (Exception ex){
                    reason = "خطا در بررسی وضعیت خوابگاه!";
                    return false;
                }
                finally
                {
                    if(cn.State == ConnectionState.Open) cn.Close();
                }
            }
        }
    }

}


